1. Field of the Invention
The present invention relates to the field of page refresh management and more particularly to the field of page refresh control using header fields in a content request.
2. Description of the Related Art
The advent of the Internet has given rise to new modes of computing unimaginable previously. Whereas personal computing prior to the widespread use of the Internet had been limited largely to the execution of computer programs in a single computing device, the advent of the Internet has enabled a multitude of different computing paradigms ranging from remote information gathering through the World Wide Web (the “Web”) to hosted computing applications managed by service providers and accessible to remote users over the Internet. Substantial cost savings have been realized in deploying host computing applications utilizing Web page-like technologies such as portal computing aggregating different portlet views in a single page.
Basic remote information gathering through the Web generally requires the use of a Web browser through which Web pages can be located, accessed and rendered. As the speed at which content can be located, accessed and rendered largely depends upon communications bandwidth between the Web browser and page server, as well as the responsiveness of the page server, oftentimes, content browsing can be a painfully slow and frustrating process. To accelerate the process of retrieving content through the Web, caching mechanisms form part and parcel of any content distribution network. In a conventional cache, an oft retrieve page of content is stored locally so that a subsequent request for the content can be satisfied from the local storage without requiring retrieval of the page of content from over the Internet.
The physical mechanism through which content is cached and retrieved in the hypertext transfer protocol (HTTP) relies upon the use of header fields of HTTP requests. In this regard, in HTTP, the date and time in which requested page content had been last modified can be passed within an HTTP request for the requested page content. The function “If-None-Match” can be invoked upon the last modified date and time data to determine whether or not a previously cached form of the page content remains valid. If so, the previously cached form of the page content can be returned in lieu of retrieving the page content from the content source.
The “ETag” is a well-known alternative to the use of the last modified date when invoking If-None-Match. When using the ETag, the server sends a hash of the requested content in an ETag header along with the requested content. Exactly how this hash is determined remains entirely within the implementation discretion of the server. When the same data is requested subsequently, the ETag hash is included in the If-None-Match header of the request. If the requested content has not changed since the last request, the server will return a “304” status code and no further content just as in the case when using a last modified date with if-None-Match.
While the use of the last modified date or the ETag in If-None-Match for page refresh and cache management suffices for simplistic content, the modern world of content aggregation presents a larger problem. In particular, different component portions of a page may enjoy different last modified dates. Further, the visibility of a particular component of an aggregated page may vary from user to user according to access rights. As such, changes in access rights can affect the nature of presentation of a page without affecting the last modified date of the page. Finally, in that query results from a search engine disposed within a page can change from view to view, managing the use of If-None-Match is not without substantial challenges.